const express=require('express')
const cors=require('cors')
const app=express()
// token
const jwt = require('jsonwebtoken')
const JWT_SECRET_KEY = 'user'

// 跨域
app.use( cors({
    origin:'*'
}))



// 解析 post 请求参数
app.use(express.json())
app.use(express.urlencoded({ extended: false }))

// token全局验证中间件
const tokenTools = function (req,resp,next) {
    if(req.path.includes('login')) {
        next()
        return
    }
    // console.log('前端发送的请求',req);
    //执行token验证
    let token = req.headers.token
    jwt.verify(token,JWT_SECRET_KEY,(err,decoded) => {
        
        if (err) {
            console.log(err); // 解密失败的报错
            if (err.name == 'TokenExpiredError') {
                resp.send({code:501,msg:'token过期'})
            } else if (err.name == 'JsonWebTokenError') {
                resp.send({code:502,msg:'无效token'})
            }
            
        }
        // console.log('decoded', decoded);

    })
    next()
}
app.use(tokenTools)

// 静态托管
app.use(express.static("./public"));

app.listen(3500,()=>{
    console.log('后台接口3500 running...');
})
// 静态托管
app.use(express.static('./public'))


// 引入路由
app.use(require('./router/admin.js'))  //管理员接口 只有一个登录功能
app.use(require("./router/user.js"))     //用户      登录,注册,删除
app.use(require("./router/line.js"))
app.use(require('./router/scenic.js'))
app.use(require('./router/discuss.js'))
app.use(require('./router/order.js'))